<<<<<<< HEAD
/*
取出100000以内的所有质数
质数：只能被1，和本身整除的数
            从2开始到这个 数-1结束都不能被这个数本身整除
2,3,5,7,11,13,17,19,23,······

对文件PrimeNumberTest的优化
 */

public class PrimeNumberTest1 {
    public static void main(String[] args){

        boolean isFlag = true ; // 标识 i 除以 j 是否除尽，除尽就修改其值

        int count = 0;        //优化三：只输出十万内质数的个数

        long start = System.currentTimeMillis();        //当前时间距离1970年1月1日 00:00:00 的毫秒数

        for(int i = 2; i <= 100000; i++){//遍历最小质数到100000 的自然数

            //for(int j = 2;j < i; j++){  // j  ：被 i 除
            for(int j = 2;j <= Math.sqrt(i); j++){          //优化2：给i开方(Math.sqrt(i))，对质数有效

                if(i % j == 0){// i / j   除尽了，就判定这个数不是质数

                    isFlag = false;//  修改标识为false

                   break;//优化1：只对本身非质数的自然数有效
                }
            }
            if(isFlag == true){//检查标识的值是否被修改过，未被修改证明没有被2~这个数-1除尽

                //System.out.println(i);//输出这个数
                count++;
            }
            isFlag = true;//在外层循环最后将isFlag重置回true
        }
        long end = System.currentTimeMillis();        //当前时间距离1970年1月1日 00:00:00 的毫秒数

        System.out.println("个数：" + count);//输出质数个数

        System.out.println("花费的时间：" + (end - start));//7211 - break优化：700 - Math.sqrt(i); :47
                                                                                        //7172                      669                          8
    }
=======
/*
取出100000以内的所有质数
质数：只能被1，和本身整除的数
            从2开始到这个 数-1结束都不能被这个数本身整除
2,3,5,7,11,13,17,19,23,······

对文件PrimeNumberTest的优化
 */

public class PrimeNumberTest1 {
    public static void main(String[] args){

        boolean isFlag = true ; // 标识 i 除以 j 是否除尽，除尽就修改其值

        int count = 0;        //优化三：只输出十万内质数的个数

        long start = System.currentTimeMillis();        //当前时间距离1970年1月1日 00:00:00 的毫秒数

        for(int i = 2; i <= 100000; i++){//遍历最小质数到100000 的自然数

            //for(int j = 2;j < i; j++){  // j  ：被 i 除
            for(int j = 2;j <= Math.sqrt(i); j++){          //优化2：给i开方(Math.sqrt(i))，对质数有效

                if(i % j == 0){// i / j   除尽了，就判定这个数不是质数

                    isFlag = false;//  修改标识为false

                   break;//优化1：只对本身非质数的自然数有效
                }
            }
            if(isFlag == true){//检查标识的值是否被修改过，未被修改证明没有被2~这个数-1除尽

                //System.out.println(i);//输出这个数
                count++;
            }
            isFlag = true;//在外层循环最后将isFlag重置回true
        }
        long end = System.currentTimeMillis();        //当前时间距离1970年1月1日 00:00:00 的毫秒数

        System.out.println("个数：" + count);//输出质数个数

        System.out.println("花费的时间：" + (end - start));//7211 - break优化：700 - Math.sqrt(i); :47
                                                                                        //7172                      669                          8
    }
>>>>>>> b1f05a69319c039ad6d747027e52dc541cfb64e5
}